HomeJavaModsPulseNet
PulseNet
ModsJava

PulseNet

by tizis0 · on Modrinth

A server-sided fabric networking optimization mod that uses packet batching and other optimizations. Fully compatible with Krypton.

⬇ Download on Modrinth
PulseNet Banner

PulseNet

The Heartbeat of High-Performance Networking - Fabric Edition by BorisShoes

PulseNet is a Fabric mod that brings high-performance packet batching to your Minecraft server. By replacing standard per-packet network flushes with intelligent batching, PulseNet reduces system call overhead and CPU usage while maintaining low-latency delivery of critical packets.

Website Discord

Project Overview

PulseNet is a Fabric mod that replaces Minecraft's default per-packet network flushing with a smart batching system. Outgoing packets are grouped and flushed together, drastically reducing kernel syscall overhead and event loop task scheduling while keeping combat, chat, and other latency-sensitive packets instant. Designed to work seamlessly alongside other Fabric mods via Mixin compatibility.


Installation

PulseNet is a server-side Fabric mod. Drop it into your mods/ folder alongside Fabric API.

Requirements:


Features

Feature Description
Smart Packet Batching Groups outgoing packets within a tick and flushes them in a single kernel syscall instead of one per packet. Supports three modes: smart_execution, strict_tick, and interval.
Write Queue Replaces per-packet event loop task submissions with a single batched write task, eliminating lambda allocations and cross-thread scheduling overhead.
Packet Coalescing Bundles similar low-priority packets (particles, sounds) into BundlePackets, reducing the client's received packet count.
Explosion Optimization Detects mass block changes from explosions and replaces individual block update packets with a full chunk resend when a configurable threshold is exceeded.
Packet Classification Automatically classifies packets as Critical, Instant, Chat, Ignored, or Coalesce — ensuring latency-sensitive packets (keepalive, disconnect, combat) always bypass the buffer. Fabric infrastructure packets (minecraft:register, minecraft:unregister) are handled at the Connection level to prevent mod handshake failures.
Real-Time Metrics Built-in metrics system tracking logical/physical PPS, bandwidth, CPU usage, memory savings, and write queue efficiency. Viewable via commands or an in-game boss bar.
Mixin Compatibility Uses a @WrapOperation approach that runs after all other mixins (Polymer, server-side translations, etc.), ensuring full compatibility with the Fabric mod ecosystem.
Hot-Reloadable Config All settings are configurable via pulse.properties and in-game commands (/pulse config, /pulse reload) with no restart required.

Commands

Command Description
/pulse Displays the current PulseNet version.
/pulse reload Reloads the configuration from disk.
/pulse config View and modify all configuration settings in-game.
/pulse netstats [network|cpu|ram|all] Displays real-time network, CPU, and memory statistics.
/pulse netstats bar Toggles the metrics boss bar overlay.
/pulse netstats reset Resets all metrics counters to zero.
/pulse packetNames Lists all observed packet class names and channel IDs.
/pulse packetNames classes Lists only observed packet class names.
/pulse packetNames channels Lists only observed custom payload channel IDs.
/pulse packetNames reset Clears the observed packet name lists.

Config Commands

The following commands can be used to adjust configurable settings in the pulse.properties file without a server reboot (Use /pulse reload after running these commands to hotswap changes). These commands can be suffixed with a value to set the setting, or used without a value to view the current setting.


Permission Nodes

PulseNet uses the Fabric Permissions API for command permissions. Each node has a fallback vanilla permission level for servers without a permissions mod.

General

Node Default Description
pulsenet.pulse ALL Access the /pulse base command (shows version)
pulsenet.reload GAMEMASTERS Reload the PulseNet config file
pulsenet.netstats GAMEMASTERS View network, CPU, and memory statistics
pulsenet.netstats.bar GAMEMASTERS Toggle the metrics boss bar overlay
pulsenet.netstats.reset GAMEMASTERS Reset all metrics counters to zero
pulsenet.packetnames GAMEMASTERS List observed packet class names and channel IDs

Config

Config commands are generated dynamically per config value. The <name> below corresponds to the camelCase config key (e.g. batchingEnabled, metricsUpdateInterval).

Node Default Description
pulsenet.config GAMEMASTERS List all config values
pulsenet.config.<name>.get GAMEMASTERS Read a specific config value
pulsenet.config.<name>.set GAMEMASTERS Change a specific config value

Try My Other Mods!

All server-side Fabric mods — no client installation required.

Mod Description Links
Arcana Novum Minecraft's biggest server-only full-feature Magic Mod! Adds powerful items, multiblocks and bosses! GitHub Modrinth CurseForge
Ancestral Archetypes A highly configurable, Origins-style mod that lets players pick a mob to gain unique abilities! GitHub Modrinth CurseForge
Ender Nexus Highly configurable /home, /spawn, /warp, /tpa and /rtp commands all in one, and individually disablable. GitHub Modrinth CurseForge
Fabric Mail An in-game virtual mailbox system for sending packages and messages between online and offline players. GitHub Modrinth CurseForge
Fabric Trade Adds /trade, a secure player-to-player trading interface. GitHub Modrinth CurseForge
Limited AFK AFK detection and management with configurable kick thresholds for servers. GitHub Modrinth CurseForge
Links in Chat Makes URLs posted in chat clickable. GitHub Modrinth CurseForge

Support and Contributions

PulseNet is an open-source project by PulseMC. We welcome contributions regarding Netty, Mixin, and protocol-level optimizations.


PulseNet: The Heartbeat of High-Performance Networking.
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more