Keep combat & pings ahead of chunk bursts.
A single universal .jar for Paper, Purpur, Folia, Velocity, Fabric, and NeoForge.
Vanilla clients connect on port 25565 with nothing installed.
Why chunk bursts spike ping on TCP
Standard Minecraft servers push chunks, light updates, combat hits, and KeepAlive pings into one FIFO Netty queue and an uncapped OS socket send buffer.
KeepAlive and PvP packets sit behind hundreds of kilobytes of queued chunk bytes in user space and the kernel socket buffer.
Express traffic cuts ahead between chunk slices without splitting BundleDelimiter trains. Linux TCP_NOTSENT_LOWAT=16KB caps kernel buffer bloat.
Measured Benchmarks
Hover any bar, dot, or point for exact measurements parsed from docs/benchmarks/data/*.csv.
Where Vanilla TCP Matches Celeris
Packet scheduling cannot bend physics or fix an overloaded main thread. Here is what Celeris does not change.
Idle Connections
When no chunk burst is queued, TCP loopback KeepAlive P50 is 0.59 ms on Vanilla FIFO vs 0.72 ms on Celeris Rust. Empty pipes are already fast.
Geographic Fiber Distance
On roxaura.mcsh.gg (EU) from Morocco, base mcPing stays 136 ms. Celeris stops /tp chunk floods from inflating that to 400+ ms spikes.
Main-Thread TPS Lag
If entity AI or worldgen drops server TPS below 20, Netty transport tuning will not speed up tick computation.
Deploy & Developer Coordinates
Drop Celeris-0.1.0-beta.jar into plugins/ (Paper/Velocity) or mods/ (Fabric/NeoForge), or depend on it via GitHub Packages.
repositories {
maven("https://maven.pkg.github.com/fy2ne/Celeris")
}
dependencies {
compileOnly("dev.fy2ne:celeris:0.1.0-beta")
}
/celeris stats # Express P50/P95/P99 + wire saved % /celeris bench 512 30 /celeris ping # mcPing vs kernel TCP_INFO RTT /celeris debug # Netty pipeline + ViaVersion order