Pufferfish Documentation

repository·ver/1.21·Indexed 20 days ago

https://github.com/pufferfish-gg/pufferfish

A high-performance fork of the Paper Minecraft server software optimized for large-scale environments. Pufferfish provides a drop-in replacement for Paper with improvements to entity and hopper logic, asynchronous processing, reduced GC overhead, and built-in features like Sentry error tracking and a profiler.

Tokens
442
Snippets
2
Records
4
Agent score
21%

What's inside Pufferfish

  1. What is Pufferfish?

    ver/1.21
    Pufferfish is a highly optimized fork of Paper designed for large-scale Minecraft servers. It focuses on maximizing performance and stability while providing 'enterprise' features like Sentry error tracking and a built-in profiler. It is designed to be a drop-in replacement for Paper, maintaining complete compatibility with any plugin compatible with Paper.
  2. Key Performance Features of Pufferfish

    ver/1.21

    Pufferfish introduces several optimizations to improve server performance:

    • Entity Performance: Reduces impact by skipping unnecessary work.
    • Partial Asynchronous Processing: Offloads heavy tasks to other threads where stable.
    • Map Rendering: Up to 8x faster rendering to reduce lag from plugins like ImageOnMap.
    • Hoppers: 30% faster than Paper (Airplane).
    • Garbage Collection (GC): Reduced frequency and duration via optimized allocations.
    • Raytracing: Faster line-of-sight calculations (improves Villager performance).
    • General Speedups: Faster crafting, entity ticking, block ticking, and bat spawning, along with reduced uselessly loaded chunks.
    • Built-in Profiler: Provides zero-performance-hit metrics for developers and owners.
  3. Build Pufferfish from source

    ver/1.21

    If you are developing or contributing, you can build the project using Gradle. Use the standard build command for the project or the paperclip task to generate a Paperclip JAR for distribution.

    # Build the project
    ```bash
    ./gradlew build

    Build a Paperclip JAR for distribution

    ./gradlew paperclip