Skip to content

Exceptionflug/protocolize

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 


Next generation protocol manipulation framework for proxy servers.

Protocolize v2

This is the official repository for the next generation proxy server protocol manipulation framework. If you wish to see the repository for Protocolize v1, click here.

Why a complete recode?

Protocolize v1 was already a successful approach on how to interact with the Minecraft protocol. The downsides were severe: An outdated code base that was hard to maintain and only supported BungeeCord. All those reasons resulted in the making of an whole new fresh code base that supports Velocity and that also takes a new approach on how to provide mappings for all supported protocol mappings.

Migration

We provide some documentation on how to migrate your existing plugin to use the new Protocolize v2 API. Click here.

Getting started

Maven dependency and repository

<repository>
    <id>exceptionflug</id>
    <url>https://mvn.exceptionflug.de/repository/exceptionflug-public/</url>
</repository>
<dependency>
    <groupId>dev.simplix</groupId>
    <artifactId>protocolize-api</artifactId>
    <version>2.2.4</version>
    <scope>provided</scope>
</dependency>

Or alternatively, with Gradle:

repsitories {
    maven {
        url = uri('https://mvn.exceptionflug.de/repository/exceptionflug-public/')
    }
}

dependencies {
    compileOnly("dev.simplix:protocolize-api:2.2.3")
}

Install the plugin

In order to use Protocolize, you have to install it onto your proxy server. Protocolize is supporting BungeeCord and Velocity proxy servers.

Compatibility

Protocolize is shipped with it's default data module which adds support for the following versions:

Minecraft Version Supported
1.8.x - 1.12.2 (Only with additional legacy module)
1.13 - 1.13.2 ✔️ (Sounds only with additional legacy module)
1.14 - 1.19.3 ✔️

Implemented packets by default:

Packet Class
Player block placement dev.simplix.protocolize.data.packets.BlockPlacement
Inventory click dev.simplix.protocolize.data.packets.ClickWindow
Close inventory dev.simplix.protocolize.data.packets.CloseWindow
Confirm transaction dev.simplix.protocolize.data.packets.ConfirmTransaction
Held item change dev.simplix.protocolize.data.packets.HeldItemChange
Named sound effect dev.simplix.protocolize.data.packets.NamedSoundEffect
Open inventory dev.simplix.protocolize.data.packets.OpenWindow
Player look update dev.simplix.protocolize.data.packets.PlayerLook
Player position update dev.simplix.protocolize.data.packets.PlayerPosition
Player position and look update dev.simplix.protocolize.data.packets.PlayerPositionLook
Player slot update dev.simplix.protocolize.data.packets.SetSlot
Player item interaction dev.simplix.protocolize.data.packets.UseItem
Inventory items dev.simplix.protocolize.data.packets.WindowItems
Inventory properties dev.simplix.protocolize.data.packets.WindowProperty

You can easily add support for new packets and versions by installing modules.

FAQ

You're experiencing uncommon packet errors and have ViaVersion/ViaBackwards installed on your proxy? This is likely caused by some bugs in those plugins. We recomment you to only install them on your sub-server when usign Protocolize.

Get some help

For documentation take a look at the wiki pages. If you have questions feel free to join our discord server.