Uniporter
A netty wrapper for Minecraft, which allows running multiple protocols in same port.
Currently, works for HTTP/1.1 standards and regular SSL, more protocols will be added later on.
No direct NMS codes are used, and tested on Spigot 1.17 and 1.12.2.
Quick Start
Okay, if you want to do something fancy with your programming ability, sadly I haven't finished the dev doc, but the javadoc is already done.
Where? Inside the source code
Have a look into cn.apisium.uniporter.Uniporter and cn.apisium.uniporter.example, you'll get the idea!
FAQ
Q: Does it support version x.xx.x?
Well, since the plugin contains regular Netty codes, and a non-hardcoded reflection helper, I would argue that it most likely works on all modern minecraft bukkit/spigot/paper server.
However, it is not guarantee to be worked on any forge or fabric hybrid servers, since I'm not entirely sure about how they handled the Netty channel instance. This will be resolved in near future.
Q: Does it breaks vanilla mechanics?
For gameplay aspect, no. The code is supposed to be harmless to vanilla gameplay.
For network aspect, well, sort of, but it won't break anything, here is the technical explanation:
Since the plugin need to read the very first byte of handshake packets (like legacy server ping handler does), so if you have a handshake packet start with byte:
Q: Will it be compatible to plugin xxx?
Most likely yes, unless they change the default Netty behavior of the server (which should be vary vary vary rare).
Okay, above are questions I made up, if you have anything wanted to add to the list, feel free to submit an issue.
By the way, officially supported issue languages are:
Q: Why don't you create a Chinese version Readme?
Because I don't want to rewrite the whole thing twice, or maybe you can do the translation
PR welcome!
Yeah, I know this doc has insufficient information, I will do some more work later on, for now, if you have any enquire, please submit an issue.
A netty wrapper for Minecraft, which allows running multiple protocols in same port.
Currently, works for HTTP/1.1 standards and regular SSL, more protocols will be added later on.
No direct NMS codes are used, and tested on Spigot 1.17 and 1.12.2.
Quick Start
- Put the jar into /plugin.
- Start or reload the server.
- Modify /plugin/Uniporter/route.yml.
- Put some html in /plugin/Uniporter/static/ or other paths in the route.yml.
- Restart or reload the server.
- You are all good. By default http://serverip:25565 (assuming your minecraft runs on 25565) will show you something

Okay, if you want to do something fancy with your programming ability, sadly I haven't finished the dev doc, but the javadoc is already done.
Where? Inside the source code
Have a look into cn.apisium.uniporter.Uniporter and cn.apisium.uniporter.example, you'll get the idea!
FAQ
Q: Does it support version x.xx.x?
Well, since the plugin contains regular Netty codes, and a non-hardcoded reflection helper, I would argue that it most likely works on all modern minecraft bukkit/spigot/paper server.
However, it is not guarantee to be worked on any forge or fabric hybrid servers, since I'm not entirely sure about how they handled the Netty channel instance. This will be resolved in near future.
Q: Does it breaks vanilla mechanics?
For gameplay aspect, no. The code is supposed to be harmless to vanilla gameplay.
For network aspect, well, sort of, but it won't break anything, here is the technical explanation:
Since the plugin need to read the very first byte of handshake packets (like legacy server ping handler does), so if you have a handshake packet start with byte:
- 22 (the SSL handshake byte) or
- any of character 'G', 'H', 'P', 'D', 'C', 'O', 'T' (the start of a Http request byte for HTTP/1.1)
Q: Will it be compatible to plugin xxx?
Most likely yes, unless they change the default Netty behavior of the server (which should be vary vary vary rare).
Okay, above are questions I made up, if you have anything wanted to add to the list, feel free to submit an issue.
By the way, officially supported issue languages are:
- English (but you might already notice that it is not my native language) and
- Chinese (both simplified or traditional are fine, but I will reply you issue in simplified)
- Marsnese, I mean, Chinese styled Mars language, aka 火星文

Q: Why don't you create a Chinese version Readme?
Because I don't want to rewrite the whole thing twice, or maybe you can do the translation
PR welcome!
Yeah, I know this doc has insufficient information, I will do some more work later on, for now, if you have any enquire, please submit an issue.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.12, 1.17, 1.18
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Uniporter is a free Minecraft Java mod. Compatible with Minecraft 1.12, 1.17, 1.18. Downloaded 9,711 times (via Spigot). Download it and open it directly in the game.