Skip to content

Pulse-MC/Pulse

Repository files navigation

Pulse Banner

Pulse

The Heartbeat of High-Performance Networking

Pulse is a high-performance Minecraft server implementation designed to redefine network efficiency. By replacing standard packet handling with sophisticated smart batching, Pulse reduces system call overhead and lowers network throughput, providing a smoother experience for large-scale player counts.

Website Discord Documentation

Project Overview

Pulse is a vertically integrated networking software that replaces standard protocol handling with a smart batching system. By grouping packets into compressed "pulses", we drastically reduce CPU syscall overhead and improve packet throughput.


Server Administrators

Pulse is a drop-in replacement for Purpur. Download the latest JAR from our website and run it just like you would run a standard Purpur server.


Plugin Developers

Pulse provides a specialized API for advanced networking control and virtual entity/block management.

Maven Repository

Add this to your project to access the Pulse API:

<repository>
    <id>pulse-repo</id>
    <url>https://maven.pulsemc.dev/snapshots</url>
</repository>

<dependency>
    <groupId>dev.pulsemc.pulse</groupId>
    <artifactId>pulse-api</artifactId>
    <version>1.21.11-SNAPSHOT</version>
    <scope>provided</scope>
</dependency>

Gradle (Kotlin DSL)

repositories {
    maven("https://maven.pulsemc.dev/snapshots")
}

dependencies {
    compileOnly("dev.pulsemc.pulse:pulse-api:1.21.11-SNAPSHOT")
}

Performance Innovations

Feature Description
Logical Batching Groups packets within a tick to prevent network congestion.
Virtual Blocks Persistent client-side blocks that survive chunk updates.
Hybrid Protocol Optimized network transport for high-density environments.
Smart Throttling Prioritizes combat and critical data over background updates.
Chunk Optimization Replaces rapid block changes with full chunk packets under load.

Compiling from Source

To compile Pulse, you need JDK 21 and an active internet connection.

  1. Clone this repository.
  2. Run ./gradlew applyAllPatches.
  3. Run ./gradlew createMojmapPaperclipJar.

The compiled jar will be located in the pulse-server/build/libs directory.


Creating Pull Request

See Contributing


Support and Contributions

Pulse is an open-source project. We welcome contributions regarding Netty, NMS, and protocol-level optimizations.


Support the Project

Pulse is an open-source project maintained by the community. Hosting costs (Maven repo, build servers, website) are covered by donations. If Pulse has helped your server's performance, consider supporting us on Boosty:

Support PulseMC on Boosty

Your support keeps the project active and allows us to focus on building new, low-level networking optimizations.


Pulse: The Heartbeat of High-Performance Networking.

Releases

No releases published

Contributors