This repository contains a high-performance, custom network layer based on Kryonet designed for and compatible with the Decimation mod ecosystem.
This project completely rewrites the standard networking pipeline to drastically reduce latency, optimize packet size, and prevent desync bugs on high-population servers.
Note
Sidenote: This network layer also includes a REST API. This can be very useful in case you want to display player stats on a website or link it to a Discord bot.
Important
LEGAL DISCLAIMER & COMPILATION REQUIREMENTS This repository DOES NOT distribute any copyrighted material, asset, or proprietary binaries from the original mod creators. It consists purely of the custom networking code wrapper. To successfully compile this project, you must manually provide your own environment dependencies.
Due to the deep hooks required to replace the existing network pipeline, this project cannot be compiled "out of the box". A developer wishing to build this mod must have basic knowledge of Minecraft environment deobfuscation and setup.
You must manually source and place the following dependencies inside your development build path (e.g., /libs folder or local Gradle environment):
- ForgeBin 1.7.10 (
.jar) — The official Minecraft Forge 1.7.10 developer binary required to bind standard game events and FML lifecycle states. - Decimation 1.21.10f Deobfuscated Sources — The latest official release version of the mod, fully deobfuscated. This is strictly required to reference internal packet structures, packet registries, and network handlers that this project hooks into.
Note: Make sure your system is using Java 8 (JDK 1.8). Modern Java toolchains will fail to compile this project due to legacy Forge compatibility requirements.
Once you have gathered the required private dependencies, you need to install them into your local Maven repository (~/.m2/repository) so that Maven can resolve them during the build process, or configure them as system-scoped dependencies in your pom.xml.
Run the following commands in your terminal to register the required jars (replace paths with your actual file locations):
# Install ForgeBin 1.7.10
mvn install:install-file \
-Dfile=/path/to/ForgeBin-1.7.10.jar \
-DgroupId=net.minecraftforge \
-DartifactId=forgebin \
-Dversion=1.7.10 \
-Dpackaging=jar
# Install Decimation Deobfuscated Sources v1.21.10f
mvn install:install-file \
-Dfile=/path/to/decimation-1.21.10f-deobf.jar \
-DgroupId=com.boehmod \
-DartifactId=decimation \
-Dversion=1.21.10f \
-Dpackaging=jar# Clone this repository
git clone https://github.com/zimipiri/decimation-network.git
# Navigate to the workspace
cd decimation-network
# Build and package the custom network layer
mvn clean package