Skip to content

Latest commit

 

History

History
93 lines (59 loc) · 3.45 KB

File metadata and controls

93 lines (59 loc) · 3.45 KB

title

License: GPL-3.0
GitHub stars
GitHub forks

CanvasMC is a high performance fork of Folia aiming to provide a stable and consistent region threading environment, alongside tons of optimizations and performance features for large scale servers.


bStats Graph Data

Features & Highlights

Alternative Scheduler

  • Canvas provides a scheduler written by the team called the AFFINITY scheduler, which contains configurable features that increase performance immensely.

Optimized Chunk Generation

  • Canvas replaces a rewritten chunk system pool, providing further optimizations that help with scaling and single-threaded throughput

Extensive Configuration

  • Fine-tune aspects of your server with fully documented configuration options and performance settings.

Proper Region Profiling

  • Canvas introduces a full Spark profiler that is fully compatible with region threading, replacing the limited Folia profiling engine.

Powerful and Optimized

  • By fixing numerous Folia bugs and crashes, Canvas delivers a high-performance, stable, and reliable experience.

Getting Started

Downloading & Running

  1. Download the latest server JAR from the Downloads page on canvasmc.io.
  2. Launch using Java (Java 21+ required) with your preferred arguments and configuration.

Building from Source

Requirements:

  • Java 21
  • Git (configured with name/email)

Common build commands:

./gradlew applyAllPatches # Applies all patches to construct the Canvas source
./gradlew createMojmapPublisherJar # Creates the publication jar used by our Jenkins CI
./gradlew runDevServer # Starts a development server locally

Documentation & Resources

  • Official Documentation: https://docs.canvasmc.io
  • Community & Support: Join the Canvas Discord
  • Issue Tracker / Contributing: Use this GitHub repo for reporting bugs, proposing features, and submitting pull requests
  • Donations / Sponsorship: Support development on Ko-fi

Contributing

We welcome many forms of contributions:

  • Code (bug fixes, features)
  • Documentation improvements
  • Testing & bug reporting
  • Community help & support
  • Donations to help support the developers

See the Canvas Contributing Guide for more detail.


Compatibility & Notes

  • Canvas is a fork of Folia and is not a drop-in replacement for Purpur, Paper, or other non-Folia forks. It is intended primarily for environments already using Folia or Folia-based forks.
  • The project adheres strictly to Folia’s threading and safety rules and does not permit bypassing them.

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).


Acknowledgments & Inspiration

Canvas incorporates patches inspired by or derived from other high-performance projects (e.g. Lithium, Leaf), along with its own custom optimizations.