Skip to content

Netty handlers and utilities for the Minecraft data protocol 1.8+

License

Notifications You must be signed in to change notification settings

LunaMC/protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Luna Protocol Build Status

Netty handlers for the Minecraft data protocol 1.8+

Prerequisites

  • Netty 4.1
  • Java 8

Usage

Latest release from Maven Central:

<dependency>
    <groupId>io.lunamc</groupId>
    <artifactId>luna-protocol</artifactId>
    <version>0.1.0</version>
</dependency>

Latest development snapshot from OSSRH:

<repository>
    <id>ossrh</id>
    <url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
<dependency>
    <groupId>io.lunamc</groupId>
    <artifactId>luna-protocol</artifactId>
    <version>0.2.0-SNAPSHOT</version>
</dependency>

Overview

  • io.lunamc.protocol.ProtocolUtils - Read and write Minecraft-specific data types (VarInt, VarLong, UUID, String and array types).
  • io.lunamc.protocol.handler.LengthLimitedFrameDecoder - Reads a (potentially) fragmented packet with a length up to 32,767 bytes.
  • io.lunamc.protocol.handler.PacketInboundHandlerAdapter - A base class for handling successfully decoded packets.
  • io.lunamc.protocol.handler.PacketLengthPrepender - Prepends the length as a VarInt in front of each outgoing ByteBuf.
  • io.lunamc.protocol.handler.cipher.CipherDecoder - Decrypts incoming ByteBufs.
  • io.lunamc.protocol.handler.cipher.CipherEncoder - Encrypts outgoing ByteBufs.
  • io.lunamc.protocol.handler.compression.PacketCompressor - Compresses outgoing ByteBufs.
  • io.lunamc.protocol.handler.compression.PacketDecompressor - Decompress incoming ByteBufs.

Documentation

Special Thanks